package com.xjzd.practice.statemachine;

import java.lang.annotation.*;

@Target({ElementType.TYPE, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Repeatable(Transitions.class)
public @interface Transition {


    // 源状态
    OrderState source();

    // 触发事件
    OrderEvent event();

    // 目标状态
    OrderState target();

    // 执行动作
    Class<? extends Action> action() default EmptyAction.class;
}
